/** @ingroup keyboard
 * @file keymap.h
 * @brief keycode to keysymbol mappings

 * generated with mkkeymap.py written by cameris (camerisdump@gmail.com)
 * mapping based on linux console keymap de_latin1_nodeadspace
 *
 * @author cameris camerisdump@gmail.com
 */

#ifndef _KEYMAP_H_
#define _KEYMAP_H_

/** @brief keycode to keysymbol */
struct keymap {
	uint8_t keycode;
	uint16_t symbol;
};

const __flash struct keymap keymap_default[] = { /* {{{ */
	{KC_0, '0'}, {KC_1, '1'}, {KC_2, '2'}, {KC_3, '3'}, {KC_4, '4'},
	{KC_5, '5'}, {KC_6, '6'}, {KC_7, '7'}, {KC_8, '8'}, {KC_9, '9'},
	{KC_A, 'a'}, {KC_APOSTROPHE, ACUTE_ACCENT}, {KC_A_DIAERESIS, A_SML_DIAERESIS},
	{KC_B, 'b'}, {KC_BACKSPACE, BACKSPACE}, {KC_C, 'c'}, {KC_CIRCUMFLEX, '^'},
	{KC_COMMA, ','}, {KC_D, 'd'}, {KC_DELETE, DELETE}, {KC_DOWN, DOWN},
	{KC_E, 'e'}, {KC_END, END}, {KC_ENTER, ENTER}, {KC_ESC, ESC},
	{KC_F, 'f'}, {KC_F1, F1}, {KC_F10, F10}, {KC_F11, F11}, {KC_F12, F12},
	{KC_F2, F2}, {KC_F3, F3}, {KC_F4, F4}, {KC_F5, F5}, {KC_F6, F6},
	{KC_F7, F7}, {KC_F8, F8}, {KC_F9, F9}, {KC_G, 'g'}, {KC_H, 'h'},
	{KC_HOME, HOME}, {KC_I, 'i'}, {KC_INSERT, INSERT}, {KC_J, 'j'},
	{KC_K, 'k'}, {KC_KP_0, KP_0}, {KC_KP_1, KP_1}, {KC_KP_2, KP_2},
	{KC_KP_3, KP_3}, {KC_KP_4, KP_4}, {KC_KP_5, KP_5}, {KC_KP_6, KP_6},
	{KC_KP_7, KP_7}, {KC_KP_8, KP_8}, {KC_KP_9, KP_9}, {KC_KP_COMMA, KP_COMMA},
	{KC_KP_DIVISION, KP_DIVISION}, {KC_KP_ENTER, KP_ENTER}, {KC_KP_MINUS, KP_MINUS},
	{KC_KP_MULTIPLY, KP_MULTIPLY}, {KC_KP_PLUS, KP_PLUS}, {KC_L, 'l'},
	{KC_LEFT, LEFT}, {KC_LESS, '<'}, {KC_M, 'm'}, {KC_MINUS, '-'},
	{KC_N, 'n'}, {KC_NUMBERSIGN, '#'}, {KC_O, 'o'}, {KC_O_DIAERESIS, O_SML_DIAERESIS},
	{KC_P, 'p'}, {KC_PGDOWN, PGDOWN}, {KC_PGUP, PGUP}, {KC_PLUS, '+'},
	{KC_POINT, '.'}, {KC_Q, 'q'}, {KC_R, 'r'}, {KC_RIGHT, RIGHT},
	{KC_S, 's'}, {KC_SHARP_S, SHARP_S_SML}, {KC_SPACE, ' '}, {KC_T, 't'},
	{KC_TAB, HT}, {KC_U, 'u'}, {KC_UP, UP}, {KC_U_DIAERESIS, U_SML_DIAERESIS},
	{KC_V, 'v'}, {KC_W, 'w'}, {KC_X, 'x'}, {KC_Y, 'y'}, {KC_Z, 'z'},
{0,0}}; /* }}} */

const __flash struct keymap keymap_shift[] = { /* {{{ */
	{KC_0, '='}, {KC_1, '!'}, {KC_2, '"'}, {KC_3, SECTION}, {KC_4, '$'},
	{KC_5, '%'}, {KC_6, '&'}, {KC_7, '/'}, {KC_8, '('}, {KC_9, ')'},
	{KC_A, 'A'}, {KC_APOSTROPHE, '`'}, {KC_A_DIAERESIS, A_CAP_DIAERESIS},
	{KC_B, 'B'}, {KC_BACKSPACE, BACKSPACE}, {KC_C, 'C'}, {KC_CIRCUMFLEX, DEGREE},
	{KC_COMMA, ';'}, {KC_D, 'D'}, {KC_E, 'E'}, {KC_ENTER, ENTER},
	{KC_ESC, ESC}, {KC_F, 'F'}, {KC_F1, LOCALECHOTOG}, {KC_F10, LOADPROFILE3},
	{KC_F2, AUTOWRAPTOG}, {KC_F3, NEWLINETOG}, {KC_F4, SHOWCONTROLTOG},
	{KC_F5, BELLTOG}, {KC_F6, SCREENTOG}, {KC_F7, SHOWPROFILE},
	{KC_F8, LOADPROFILE1}, {KC_F9, LOADPROFILE2}, {KC_G, 'G'},
	{KC_H, 'H'}, {KC_I, 'I'}, {KC_J, 'J'}, {KC_K, 'K'}, {KC_KP_0, '0'},
	{KC_KP_1, '1'}, {KC_KP_2, '2'}, {KC_KP_3, '3'}, {KC_KP_4, '4'},
	{KC_KP_5, '5'}, {KC_KP_6, '6'}, {KC_KP_7, '7'}, {KC_KP_8, '8'},
	{KC_KP_9, '9'}, {KC_KP_COMMA, ','}, {KC_KP_DIVISION, '/'},
	{KC_KP_ENTER, ENTER}, {KC_KP_MINUS, '-'}, {KC_KP_MULTIPLY, '*'},
	{KC_KP_PLUS, '+'}, {KC_L, 'L'}, {KC_LESS, '>'}, {KC_M, 'M'},
	{KC_MINUS, '_'}, {KC_N, 'N'}, {KC_NUMBERSIGN, '\''}, {KC_O, 'O'},
	{KC_O_DIAERESIS, O_CAP_DIAERESIS}, {KC_P, 'P'}, {KC_PLUS, '*'},
	{KC_POINT, ':'}, {KC_Q, 'Q'}, {KC_R, 'R'}, {KC_S, 'S'}, {KC_SHARP_S, '?'},
	{KC_SPACE, ' '}, {KC_T, 'T'}, {KC_TAB, BACKTAB}, {KC_U, 'U'},
	{KC_U_DIAERESIS, U_CAP_DIAERESIS}, {KC_V, 'V'}, {KC_W, 'W'},
	{KC_X, 'X'}, {KC_Y, 'Y'}, {KC_Z, 'Z'},
{0,0}}; /* }}} */

const __flash struct keymap keymap_altgr[] = { /* {{{ */
	{KC_0, '}'}, {KC_1, SUPERSCRIPT_ONE}, {KC_2, SUPERSCRIPT_TWO},
	{KC_3, SUPERSCRIPT_THREE}, {KC_4, FRAC_ONE_QUARTER}, {KC_5, FRAC_ONE_HALF},
	{KC_6, NOT}, {KC_7, '{'}, {KC_8, '['}, {KC_9, ']'}, {KC_A, AE_SML},
	{KC_APOSTROPHE, CEDILLA}, {KC_A_DIAERESIS, '^'}, {KC_C, CENT},
	{KC_COMMA, MIDDLE_DOT}, {KC_D, ETH_SML}, {KC_LESS, '|'}, {KC_M, MICRO},
	{KC_O, O_SML_STROKE}, {KC_P, THORN_SML}, {KC_PLUS, '~'}, {KC_Q, '@'},
	{KC_R, PILCROW}, {KC_SHARP_S, '\\'}, {KC_U_DIAERESIS, DIAERESIS},
	{KC_X, LEFT_ANGLE_QUOT}, {KC_Y, RIGHT_ANGLE_QUOT},
{0,0}}; /* }}} */

const __flash struct keymap keymap_shift_altgr[] = { /* {{{ */
	{KC_1, INVERT_EXCLAMATION}, {KC_3, POUND}, {KC_4, CURRENCY},
	{KC_9, PLUS_MINUS}, {KC_A, AE_CAP}, {KC_C, COPYRIGHT}, {KC_COMMA, MULTIPLICATION},
	{KC_D, ETH_CAP}, {KC_F, FEM_ORD_INDICATOR}, {KC_K, '&'}, {KC_LESS, BROKEN_BAR},
	{KC_M, MASC_ORD_INDICATOR}, {KC_O, O_CAP_STROKE}, {KC_P, THORN_CAP},
	{KC_PLUS, MACRON}, {KC_POINT, DIVISION}, {KC_R, REGISTERED},
	{KC_SHARP_S, INVERT_QUESTION}, {KC_Z, YEN},
{0,0}}; /* }}} */

const __flash struct keymap keymap_ctrl[] = { /* {{{ */
	{KC_2, NUL}, {KC_3, ESC}, {KC_6, RS}, {KC_A, SOH}, {KC_B, STX},
	{KC_C, ETX}, {KC_CIRCUMFLEX, RS}, {KC_D, EOT}, {KC_E, ENQ},
	{KC_F, ACK}, {KC_F1, BLIGHTDEC}, {KC_F10, SAVEPROFILE3}, {KC_F2, BLIGHTINC},
	{KC_F3, BAUDDEC}, {KC_F4, BAUDINC}, {KC_F5, DATABITNEXT}, {KC_F6, PARITYNEXT},
	{KC_F7, STOPBITTOG}, {KC_F8, SAVEPROFILE1}, {KC_F9, SAVEPROFILE2},
	{KC_G, BEL}, {KC_H, BS}, {KC_I, HT}, {KC_J, LF}, {KC_K, VT},
	{KC_L, FF}, {KC_M, CR}, {KC_N, SO}, {KC_O, SI}, {KC_P, DLE},
	{KC_Q, XON}, {KC_R, DC2}, {KC_S, XOFF}, {KC_SPACE, NUL}, {KC_T, DC4},
	{KC_U, NAK}, {KC_V, SYN}, {KC_W, ETB}, {KC_X, CAN}, {KC_Y, EM},
	{KC_Z, SUB},
{0,0}}; /* }}} */

const __flash struct keymap keymap_shift_ctrl[] = { /* {{{ */
	{KC_MINUS, US},
{0,0}}; /* }}} */

const __flash struct keymap keymap_ctrl_altgr[] = { /* {{{ */
	{KC_9, GS}, {KC_Q, NUL}, {KC_SHARP_S, FS},
{0,0}}; /* }}} */

#endif
/* vim:set foldmethod=marker: */
